package com.wcs.exam.dao.impl.mapper.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户考勤
 * </p>
 *
 * @author wcs
 * @since 2025-03-13
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("user_attendance")
public class UserAttendance implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 考勤类型(1:普通考试、2:报名考试)
     */
    private Integer attendanceType;

    /**
     * 关联ID
     */
    private Long relateId;

    /**
     * 考试记录ID
     */
    private Long examRecordId;

    /**
     * 考勤考试场景(1:开考前、2:答题时抓拍、3:答题时高灵敏度人脸监测)
     */
    private Integer attendanceExamScene;

    /**
     * 考勤方式(1:点击打卡、2:人脸识别)
     */
    private Integer attendanceWay;

    /**
     * 考勤通过(0:不通过、1:通过)
     */
    private Boolean attendancePass;

    /**
     * 人脸识别调用(0:未调用、1:调用)
     */
    private Boolean faceIdCall;

    /**
     * 人脸识别类型(1:活体人脸核身、2:活体人脸比对)
     */
    private Integer faceIdType;

    /**
     * 人脸识别相似度
     */
    private BigDecimal faceSim;

    /**
     * 用户图像
     */
    private String userImage;

    /**
     * 最佳照片(识别返回)
     */
    private String bestImage;

    /**
     * 返回信息(识别返回)
     */
    private String respMsg;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 创建时间
     */
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    private LocalDateTime gmtModified;
}
